[INFO] cloning repository https://github.com/tkolberg/phosphor
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tkolberg/phosphor" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftkolberg%2Fphosphor", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftkolberg%2Fphosphor'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6cec0cd2364727af0e5ce4de375aecec1b4ba222
[INFO] checking tkolberg/phosphor against try#3857be5045fe74bd0f296f6f4c23db10f8857f73 for pr-156807
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftkolberg%2Fphosphor" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/tkolberg/phosphor
[INFO] finished tweaking git repo https://github.com/tkolberg/phosphor
[INFO] tweaked toml for git repo https://github.com/tkolberg/phosphor written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tkolberg/phosphor on toolchain 3857be5045fe74bd0f296f6f4c23db10f8857f73
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3857be5045fe74bd0f296f6f4c23db10f8857f73" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/tkolberg/phosphor already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3857be5045fe74bd0f296f6f4c23db10f8857f73" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded bon v3.9.1
[INFO] [stderr]   Downloaded bon-macros v3.9.1
[INFO] [stderr]   Downloaded comrak v0.36.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+3857be5045fe74bd0f296f6f4c23db10f8857f73" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 97e8452ed78eec993941757c73e61d6797ab28e6bd35309b313cb0f50a21bafc
[INFO] running `Command { std: "docker" "start" "-a" "97e8452ed78eec993941757c73e61d6797ab28e6bd35309b313cb0f50a21bafc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "97e8452ed78eec993941757c73e61d6797ab28e6bd35309b313cb0f50a21bafc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "97e8452ed78eec993941757c73e61d6797ab28e6bd35309b313cb0f50a21bafc", kill_on_drop: false }`
[INFO] [stdout] 97e8452ed78eec993941757c73e61d6797ab28e6bd35309b313cb0f50a21bafc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+3857be5045fe74bd0f296f6f4c23db10f8857f73" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ce20e2d8b68592953a6cf490beac4807160ab623af438b99dcc80cf73b1411d4
[INFO] running `Command { std: "docker" "start" "-a" "ce20e2d8b68592953a6cf490beac4807160ab623af438b99dcc80cf73b1411d4", kill_on_drop: false }`
[INFO] [stderr]     Checking bitflags v2.11.1
[INFO] [stderr]     Checking simd-adler32 v0.3.9
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling onig_sys v69.9.1
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]     Checking no_std_io2 v0.9.3
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling owo-colors v4.3.0
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]    Compiling color-spantrace v0.3.0
[INFO] [stderr]     Checking bitstream-io v4.10.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling instability v0.3.12
[INFO] [stderr]     Checking gimli v0.32.3
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking rustix v0.38.44
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking zune-jpeg v0.5.15
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking rgb v0.8.53
[INFO] [stderr]     Checking unicode-segmentation v1.13.2
[INFO] [stderr]     Checking gif v0.14.2
[INFO] [stderr]     Checking compact_str v0.8.1
[INFO] [stderr]     Checking tracing-error v0.2.1
[INFO] [stderr]     Checking eyre v0.6.12
[INFO] [stderr]     Checking moxcms v0.8.1
[INFO] [stderr]     Checking flate2 v1.1.9
[INFO] [stderr]     Checking caseless v0.2.2
[INFO] [stderr]     Checking getrandom v0.4.2
[INFO] [stderr]     Checking png v0.18.1
[INFO] [stderr]     Checking csv-core v0.1.13
[INFO] [stderr]     Checking unicode_categories v0.1.1
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]     Checking xdg v2.5.2
[INFO] [stderr]     Checking typed-arena v2.0.2
[INFO] [stderr]     Checking unicode-width v0.2.0
[INFO] [stderr]     Checking entities v1.0.1
[INFO] [stderr]     Checking shell-words v1.1.1
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking csv v1.4.0
[INFO] [stderr]     Checking console v0.16.3
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking similar v2.7.0
[INFO] [stderr]     Checking addr2line v0.25.1
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking terminal_size v0.4.4
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]     Checking insta v1.47.2
[INFO] [stderr]     Checking backtrace v0.3.76
[INFO] [stderr]     Checking color-eyre v0.6.5
[INFO] [stderr]     Checking onig v6.5.1
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling equator-macro v0.4.2
[INFO] [stderr]    Compiling zerocopy-derive v0.8.48
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling profiling-procmacros v1.0.17
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling fax_derive v0.2.0
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]     Checking profiling v1.0.17
[INFO] [stderr]     Checking fax v0.2.6
[INFO] [stderr]     Checking equator v0.4.2
[INFO] [stderr]     Checking aligned-vec v0.6.4
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking v_frame v0.3.9
[INFO] [stderr]     Checking av-scenechange v0.14.1
[INFO] [stderr]     Checking av1-grain v0.2.5
[INFO] [stderr]     Checking zerocopy v0.8.48
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking rav1e v0.8.1
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling bon-macros v3.9.1
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]     Checking syntect v5.3.0
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking tiff v0.11.3
[INFO] [stderr]     Checking exr v1.74.0
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking bon v3.9.1
[INFO] [stderr]     Checking comrak v0.36.0
[INFO] [stderr]     Checking ravif v0.13.0
[INFO] [stderr]     Checking image v0.25.10
[INFO] [stderr]     Checking phosphor v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> src/parse.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Block`
[INFO] [stdout]  --> src/render/engine.rs:6:45
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ratatui::widgets::{Axis, Bar, BarChart, Block, Chart, Dataset, GraphType};
[INFO] [stdout]   |                                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> src/parse.rs:1:23
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Block`
[INFO] [stdout]  --> src/render/engine.rs:6:45
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ratatui::widgets::{Axis, Bar, BarChart, Block, Chart, Dataset, GraphType};
[INFO] [stdout]   |                                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/histogram.rs:189:14
[INFO] [stdout]     |
[INFO] [stdout] 189 |         for (i, &v) in values.iter().enumerate().take(n_bins) {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/histogram.rs:469:10
[INFO] [stdout]     |
[INFO] [stdout] 469 |     for (i, (label, _, color)) in backgrounds.iter().enumerate().take(max_bg_legend) {
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `px_max`
[INFO] [stdout]    --> src/plot.rs:328:18
[INFO] [stdout]     |
[INFO] [stdout] 328 |     px_min: f64, px_max: f64, py_min: f64, py_max: f64,
[INFO] [stdout]     |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_px_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `py_min`
[INFO] [stdout]    --> src/plot.rs:328:31
[INFO] [stdout]     |
[INFO] [stdout] 328 |     px_min: f64, px_max: f64, py_min: f64, py_max: f64,
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_py_min`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `py_max`
[INFO] [stdout]    --> src/plot.rs:328:44
[INFO] [stdout]     |
[INFO] [stdout] 328 |     px_min: f64, px_max: f64, py_min: f64, py_max: f64,
[INFO] [stdout]     |                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_py_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tick_y`
[INFO] [stdout]    --> src/plot.rs:352:22
[INFO] [stdout]     |
[INFO] [stdout] 352 |                 for &tick_y in y_ticks_pdf {
[INFO] [stdout]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tick_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `py_min`
[INFO] [stdout]    --> src/plot.rs:723:31
[INFO] [stdout]     |
[INFO] [stdout] 723 |     px_min: f64, px_max: f64, py_min: f64, py_max: f64,
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_py_min`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `py_max`
[INFO] [stdout]    --> src/plot.rs:723:44
[INFO] [stdout]     |
[INFO] [stdout] 723 |     px_min: f64, px_max: f64, py_min: f64, py_max: f64,
[INFO] [stdout]     |                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_py_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `title_spans`
[INFO] [stdout]    --> src/plot.rs:966:9
[INFO] [stdout]     |
[INFO] [stdout] 966 |     let title_spans = vec![Span::styled(
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_title_spans`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_val`
[INFO] [stdout]    --> src/plot.rs:990:13
[INFO] [stdout]     |
[INFO] [stdout] 990 |         let y_val = y_max - y_frac * (y_max - y_min);
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_y_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/histogram.rs:189:14
[INFO] [stdout]     |
[INFO] [stdout] 189 |         for (i, &v) in values.iter().enumerate().take(n_bins) {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/histogram.rs:469:10
[INFO] [stdout]     |
[INFO] [stdout] 469 |     for (i, (label, _, color)) in backgrounds.iter().enumerate().take(max_bg_legend) {
[INFO] [stdout]     |          ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `px_max`
[INFO] [stdout]    --> src/plot.rs:328:18
[INFO] [stdout]     |
[INFO] [stdout] 328 |     px_min: f64, px_max: f64, py_min: f64, py_max: f64,
[INFO] [stdout]     |                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_px_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `py_min`
[INFO] [stdout]    --> src/plot.rs:328:31
[INFO] [stdout]     |
[INFO] [stdout] 328 |     px_min: f64, px_max: f64, py_min: f64, py_max: f64,
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_py_min`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `py_max`
[INFO] [stdout]    --> src/plot.rs:328:44
[INFO] [stdout]     |
[INFO] [stdout] 328 |     px_min: f64, px_max: f64, py_min: f64, py_max: f64,
[INFO] [stdout]     |                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_py_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tick_y`
[INFO] [stdout]    --> src/plot.rs:352:22
[INFO] [stdout]     |
[INFO] [stdout] 352 |                 for &tick_y in y_ticks_pdf {
[INFO] [stdout]     |                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tick_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `py_min`
[INFO] [stdout]    --> src/plot.rs:723:31
[INFO] [stdout]     |
[INFO] [stdout] 723 |     px_min: f64, px_max: f64, py_min: f64, py_max: f64,
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_py_min`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `py_max`
[INFO] [stdout]    --> src/plot.rs:723:44
[INFO] [stdout]     |
[INFO] [stdout] 723 |     px_min: f64, px_max: f64, py_min: f64, py_max: f64,
[INFO] [stdout]     |                                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_py_max`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]    --> src/wireframe.rs:445:9
[INFO] [stdout]     |
[INFO] [stdout] 445 |     for layer in 0..n_em {
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]    --> src/wireframe.rs:478:9
[INFO] [stdout]     |
[INFO] [stdout] 478 |     for layer in 0..n_had {
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `title_spans`
[INFO] [stdout]    --> src/plot.rs:966:9
[INFO] [stdout]     |
[INFO] [stdout] 966 |     let title_spans = vec![Span::styled(
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_title_spans`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y_val`
[INFO] [stdout]    --> src/plot.rs:990:13
[INFO] [stdout]     |
[INFO] [stdout] 990 |         let y_val = y_max - y_frac * (y_max - y_min);
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_y_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PlotData` is more private than the item `extract_plot_data`
[INFO] [stdout]   --> src/plot.rs:82:1
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn extract_plot_data(pdf_path: &Path) -> Option<PlotData> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `extract_plot_data` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `PlotData` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/plot.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | struct PlotData {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `in_ghostty`, `small_font`, `normal_font_size`, and `wireframe_font_size` are never read
[INFO] [stdout]   --> src/app.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct App {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 36 |     in_ghostty: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 37 |     /// Current font size state: true = small (wireframe), false = normal.
[INFO] [stdout] 38 |     small_font: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 39 |     /// The normal font size to restore when leaving wireframe slides.
[INFO] [stdout] 40 |     normal_font_size: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 41 |     /// The small font size for wireframe slides.
[INFO] [stdout] 42 |     wireframe_font_size: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `current_slide_has_wireframe` is never used
[INFO] [stdout]    --> src/app.rs:729:8
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl App {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 729 |     fn current_slide_has_wireframe(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set`, `clear`, `line`, `polygon`, `polygon_colored`, and `circle` are never used
[INFO] [stdout]    --> src/braille.rs:50:12
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl BrailleCanvas {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  50 |     pub fn set(&mut self, x: isize, y: isize) {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     pub fn clear(&mut self, x: isize, y: isize) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn line(&mut self, x0: isize, y0: isize, x1: isize, y1: isize) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn polygon(&mut self, points: &[(isize, isize)]) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn polygon_colored(&mut self, points: &[(isize, isize)], color: Color) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn circle(&mut self, cx: isize, cy: isize, r: isize) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `HorizontalRule` and `Spacer` are never constructed
[INFO] [stdout]   --> src/elements.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum SlideElement {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 71 |     HorizontalRule,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 72 |     Spacer,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SlideElement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `title` is never read
[INFO] [stdout]   --> src/histogram.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct HistogramSpec {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub title: Option<String>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HistogramSpec` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `signal_names` is never read
[INFO] [stdout]   --> src/histogram.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct HistogramFile {
[INFO] [stdout]    |        ------------- field in this struct
[INFO] [stdout] 26 |     signal_names: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HistogramFile` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ylabel` is never read
[INFO] [stdout]   --> src/histogram.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | struct HistogramEntry {
[INFO] [stdout]    |        -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 36 |     ylabel: Option<String>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HistogramEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `author` is never read
[INFO] [stdout]  --> src/metadata.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct FrontMatter {
[INFO] [stdout]   |            ----------- field in this struct
[INFO] [stdout] 5 |     pub title: Option<String>,
[INFO] [stdout] 6 |     pub author: Option<String>,
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `FrontMatter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send` is never used
[INFO] [stdout]   --> src/notes/protocol.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn send<W: Write>(writer: &mut W, msg: &NoteMessage) -> Result<()> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `socket_path` is never used
[INFO] [stdout]   --> src/notes/server.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl NotesServer {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn socket_path(&self) -> &Path {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `text`, `nx`, and `ny` are never read
[INFO] [stdout]   --> src/plot.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | struct PlotText {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] 37 |     text: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 38 |     /// Normalized position (0..1) relative to plot area
[INFO] [stdout] 39 |     nx: f64,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 40 |     ny: f64,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PlotText` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `annotations` is never read
[INFO] [stdout]   --> src/plot.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | struct PlotData {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 54 |     annotations: Vec<PlotText>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PlotData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ClearRect` and `JumpToRow` are never constructed
[INFO] [stdout]   --> src/render/ops.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub enum RenderOp {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout]  8 |     /// Clear the current window area
[INFO] [stdout]  9 |     ClearRect,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 10 |     /// Move cursor to a specific row within the current window
[INFO] [stdout] 11 |     JumpToRow { row: u16 },
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RenderOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Right` is never constructed
[INFO] [stdout]   --> src/render/ops.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub enum Alignment {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 50 |     Right,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Alignment` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `paragraph` and `list` are never read
[INFO] [stdout]   --> src/theme/types.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct ThemeStyles {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 23 |     pub heading: Option<ElementStyle>,
[INFO] [stdout] 24 |     pub paragraph: Option<ElementStyle>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 25 |     pub code: Option<CodeStyle>,
[INFO] [stdout] 26 |     pub list: Option<ElementStyle>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ThemeStyles` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `bg`, `bold`, and `italic` are never read
[INFO] [stdout]   --> src/theme/types.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct ElementStyle {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 32 |     pub fg: Option<String>,
[INFO] [stdout] 33 |     pub bg: Option<String>,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 34 |     pub bold: Option<bool>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 35 |     pub italic: Option<bool>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ElementStyle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `template` and `bg` are never read
[INFO] [stdout]   --> src/theme/types.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct FooterTheme {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 62 |     pub template: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 63 |     pub fg: Option<String>,
[INFO] [stdout] 64 |     pub bg: Option<String>,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FooterTheme` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slerp` is never used
[INFO] [stdout]     --> src/wireframe.rs:1241:4
[INFO] [stdout]      |
[INFO] [stdout] 1241 | fn slerp(a: Vec3, b: Vec3, t: f64) -> Vec3 {
[INFO] [stdout]      |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]    --> src/wireframe.rs:445:9
[INFO] [stdout]     |
[INFO] [stdout] 445 |     for layer in 0..n_em {
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `layer`
[INFO] [stdout]    --> src/wireframe.rs:478:9
[INFO] [stdout]     |
[INFO] [stdout] 478 |     for layer in 0..n_had {
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_layer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PlotData` is more private than the item `extract_plot_data`
[INFO] [stdout]   --> src/plot.rs:82:1
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub fn extract_plot_data(pdf_path: &Path) -> Option<PlotData> {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `extract_plot_data` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `PlotData` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/plot.rs:50:1
[INFO] [stdout]    |
[INFO] [stdout] 50 | struct PlotData {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `in_ghostty`, `small_font`, `normal_font_size`, and `wireframe_font_size` are never read
[INFO] [stdout]   --> src/app.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct App {
[INFO] [stdout]    |            --- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 36 |     in_ghostty: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 37 |     /// Current font size state: true = small (wireframe), false = normal.
[INFO] [stdout] 38 |     small_font: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 39 |     /// The normal font size to restore when leaving wireframe slides.
[INFO] [stdout] 40 |     normal_font_size: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 41 |     /// The small font size for wireframe slides.
[INFO] [stdout] 42 |     wireframe_font_size: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `current_slide_has_wireframe` is never used
[INFO] [stdout]    --> src/app.rs:729:8
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl App {
[INFO] [stdout]     | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 729 |     fn current_slide_has_wireframe(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `clear`, `polygon`, `polygon_colored`, and `circle` are never used
[INFO] [stdout]    --> src/braille.rs:69:12
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl BrailleCanvas {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  69 |     pub fn clear(&mut self, x: isize, y: isize) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn polygon(&mut self, points: &[(isize, isize)]) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn polygon_colored(&mut self, points: &[(isize, isize)], color: Color) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn circle(&mut self, cx: isize, cy: isize, r: isize) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `HorizontalRule` and `Spacer` are never constructed
[INFO] [stdout]   --> src/elements.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum SlideElement {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 71 |     HorizontalRule,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 72 |     Spacer,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SlideElement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `title` is never read
[INFO] [stdout]   --> src/histogram.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct HistogramSpec {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub title: Option<String>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HistogramSpec` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `signal_names` is never read
[INFO] [stdout]   --> src/histogram.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct HistogramFile {
[INFO] [stdout]    |        ------------- field in this struct
[INFO] [stdout] 26 |     signal_names: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HistogramFile` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ylabel` is never read
[INFO] [stdout]   --> src/histogram.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | struct HistogramEntry {
[INFO] [stdout]    |        -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 36 |     ylabel: Option<String>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `HistogramEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `send` is never used
[INFO] [stdout]   --> src/notes/protocol.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn send<W: Write>(writer: &mut W, msg: &NoteMessage) -> Result<()> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `socket_path` is never used
[INFO] [stdout]   --> src/notes/server.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl NotesServer {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 62 |     pub fn socket_path(&self) -> &Path {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `text`, `nx`, and `ny` are never read
[INFO] [stdout]   --> src/plot.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | struct PlotText {
[INFO] [stdout]    |        -------- fields in this struct
[INFO] [stdout] 37 |     text: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 38 |     /// Normalized position (0..1) relative to plot area
[INFO] [stdout] 39 |     nx: f64,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 40 |     ny: f64,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PlotText` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `annotations` is never read
[INFO] [stdout]   --> src/plot.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | struct PlotData {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 54 |     annotations: Vec<PlotText>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PlotData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ClearRect` and `JumpToRow` are never constructed
[INFO] [stdout]   --> src/render/ops.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub enum RenderOp {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout]  8 |     /// Clear the current window area
[INFO] [stdout]  9 |     ClearRect,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 10 |     /// Move cursor to a specific row within the current window
[INFO] [stdout] 11 |     JumpToRow { row: u16 },
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RenderOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Right` is never constructed
[INFO] [stdout]   --> src/render/ops.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub enum Alignment {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 50 |     Right,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Alignment` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `paragraph` and `list` are never read
[INFO] [stdout]   --> src/theme/types.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct ThemeStyles {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 23 |     pub heading: Option<ElementStyle>,
[INFO] [stdout] 24 |     pub paragraph: Option<ElementStyle>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 25 |     pub code: Option<CodeStyle>,
[INFO] [stdout] 26 |     pub list: Option<ElementStyle>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ThemeStyles` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `bg`, `bold`, and `italic` are never read
[INFO] [stdout]   --> src/theme/types.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct ElementStyle {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 32 |     pub fg: Option<String>,
[INFO] [stdout] 33 |     pub bg: Option<String>,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 34 |     pub bold: Option<bool>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 35 |     pub italic: Option<bool>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ElementStyle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `template` and `bg` are never read
[INFO] [stdout]   --> src/theme/types.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct FooterTheme {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 62 |     pub template: Option<String>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 63 |     pub fg: Option<String>,
[INFO] [stdout] 64 |     pub bg: Option<String>,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FooterTheme` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slerp` is never used
[INFO] [stdout]     --> src/wireframe.rs:1241:4
[INFO] [stdout]      |
[INFO] [stdout] 1241 | fn slerp(a: Vec3, b: Vec3, t: f64) -> Vec3 {
[INFO] [stdout]      |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 45.91s
[INFO] running `Command { std: "docker" "inspect" "ce20e2d8b68592953a6cf490beac4807160ab623af438b99dcc80cf73b1411d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ce20e2d8b68592953a6cf490beac4807160ab623af438b99dcc80cf73b1411d4", kill_on_drop: false }`
[INFO] [stdout] ce20e2d8b68592953a6cf490beac4807160ab623af438b99dcc80cf73b1411d4
